Skip to content

.NET 入门

安装

Windows安装

下载并安装 .NET SDK

.NET CLI

dotnet

sh
$ dotnet

Usage: dotnet [options]
Usage: dotnet [path-to-application]

Options:
  -h|--help         Display help.
  --info            Display .NET information.
  --list-sdks       Display the installed SDKs.
  --list-runtimes   Display the installed runtimes.

path-to-application:
  The path to an application .dll file to execute.

dotnet -h

sh
$ dotnet -h
使用情况: dotnet [runtime-options] [path-to-application] [arguments]

执行 .NET 应用程序。

runtime-options:
  --additionalprobingpath <path>   要探测的包含探测策略和程序集的路径。
  --additional-deps <path>         指向其他 deps.json 文件的路径。
  --depsfile                       指向 <application>.deps.json 文件的路径。
  --fx-version <version>           要用于运行应用程序的安装版共享框架的版本。
  --roll-forward <setting>         前滚至框架版本(LatestPatch, Minor, LatestMinor, Major, LatestMajor, Disable)
  --runtimeconfig                  指向 <application>.runtimeconfig.json 文件的路径。

path-to-application:
  要执行的应用程序 .dll 文件的路径。

使用情况: dotnet [sdk-options] [command] [command-options] [arguments]

执行 .NET SDK 命令。

sdk-options:
  -d|--diagnostics  启用诊断输出。
  -h|--help         显示命令行帮助。
  --info            显示 .NET 信息。
  --list-runtimes   显示安装的运行时。
  --list-sdks       显示安装的 SDK。
  --version         显示使用中的 .NET SDK 版本。

SDK 命令:
  add               将包或引用添加到 .NET 项目。
  build             生成 .NET 项目。
  build-server      与由生成版本启动的服务器进行交互。
  clean             清理 .NET 项目的生成输出。
  format            将样式首选项应用到项目或解决方案。
  help              显示命令行帮助。
  list              列出 .NET 项目的项目引用。
  msbuild           运行 Microsoft 生成引擎(MSBuild)命令。
  new               创建新的 .NET 项目或文件。
  nuget             提供其他 NuGet 命令。
  pack              创建 NuGet 包。
  publish           发布 .NET 项目进行部署。
  remove .NET 项目中删除包或引用。
  restore           还原 .NET 项目中指定的依赖项。
  run               生成并运行 .NET 项目输出。
  sdk               管理 .NET SDK 安装。
  sln               修改 Visual Studio 解决方案文件。
  store             在运行时包存储中存储指定的程序集。
  test              使用 .NET 项目中指定的测试运行程序运行单元测试。
  tool              安装或管理扩展 .NET 体验的工具。
  vstest            运行 Microsoft 测试引擎(VSTest)命令。
  workload          管理可选工作负荷。

捆绑工具中的其他命令:
  dev-certs         创建和管理开发证书。
  fsi               启动 F# 交互/执行 F# 脚本。
  user-jwts         在开发中管理 JSON Web 令牌。
  user-secrets      管理开发用户密码。
  watch             启动文件观察程序,它会在文件发生更改时运行命令。

运行 "dotnet [command] --help",获取有关命令的详细信息。

使用.NET CLI创建应用程序

sh
$ dotnet new console -o hello-world
已成功创建模板“控制台应用”。

正在处理创建后操作...
正在还原 D:\.NET\hello-world\hello-world.csproj:
  正在确定要还原的项目…
  已还原 D:\.NET\hello-world\hello-world.csproj (用时 92 ms)。
已成功还原。


$ cd hello-world
$ dotnet run
Hello, World!

使用 Visual Studio Code 构建 .NET 应用程序

在VS Code中安装C#开发工具包扩展

打开 VS Code,并在左侧 VS Code 的活动栏中选择“扩展”按钮。在搜索栏中键入 "C#",选择“C# 开发工具包”,然后在 C# 开发工具包扩展页上选择“安装”按钮。

vscode-csharp-devkit (vscode-csharp-devkit。来源:.NET官网)

创建应用

  1. 按 CTRL+SHIFT+P,在 VS Code 中打开命令面板。
  2. 键入 ".NET: " 来查看可使用 C# 开发工具包运行的命令!
  3. 查找“.NET: 新建项目”,并将其选中来创建新的 .NET 项目。
  4. 向下滚动并选择“控制台应用”。
  5. 选择要保存项目的文件夹位置。
  6. 出现提示时,在命令面板中将项目命名为 MyConsoleApp

dotnet-hello-world-new-project (dotnet-hello-world-new-project。来源:.NET官网)

在 VS Code 的边栏中,确保已打开资源管理器。应该会在此处看到文件夹和解决方案资源管理器。如果已打开一个新的 VS Code 实例,解决方案资源管理器可能在边栏底部附近。

vscode-solution-explorer (myconsoleapp-explorer。来源:.NET官网)

MyConsoleApp 文件夹中的主文件称为 Program.cs。默认情况下,它已包含将 Hello, World! 写入终端所需的代码。单击文件可查看模板创建的代码:

programcs-solution-explorer (myconsoleapp-programcs。来源:.NET官网)

运行应用

若要运行应用程序,请选择右上角的“运行”按钮右侧的下拉菜单,然后选择“运行与此文件关联的项目”。 vscode-run (vscode-run。来源:.NET官网)

应该会在 VS Code 终端中看到 Hello, World!。

sh
Hello, World!

编辑代码

Program.cs 文件中,在打印 Hello, World! 的代码后面添加突出显示的行,如下所示:

cs
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
Console.WriteLine("The current time is " + DateTime.Now);

保存 Program.cs 文件,然后再次选择“运行与文件关联的项目”。如果成功,应会看到类似于以下内容的输出:

sh
Hello, World!
The current time is 2024/3/20 15:01:18

在 .NET 项目中添加包

查找包

可在安装前转到 https://www.nuget.org/packages/<package name>,详细了解包。

例如,PasswordGenerator包的地址是这个:https://www.nuget.org/packages/PasswordGenerator

安装包

使用 dotnet add package <package name> 命令,可安装要作为应用程序的一部分使用的常规依赖项。

sh
$ dotnet add package PasswordGenerator --version 2.1.0

安装的包在 .csproj 文件的 dependencies 部分中列出。 如果需要查看文件夹中的包,可以输入 dotnet list package

sh
$ dotnet list package
项目“ConsoleApp”具有以下包引用
   [net8.0]: 
   顶级包                      已请求     已解决
   > PasswordGenerator      2.1.0   2.1.0

该命令只列出顶层包,而不列出那些包的依赖项(我们称之为可传递包)。 此命令非常适合快速查看。 如果需要更详细的视图,可以列出所有可传递包。 执行此操作时,list 命令如下所示:

sh
$ dotnet list package --include-transitive

使用包

cs
using PasswordGenerator;

namespace ConsoleApp.DotNetDependencies;

public class DotNetDependencies
{
    static void Main()
    {
        // By default, all characters available for use and a length of 16
        // Will return a random password with the default settings 
        var pwd = new Password();
        var password = pwd.Next();
        Console.WriteLine($"password: {password}");
    }
}

Last updated:

Released under the MIT License.